import axios from 'axios';
import { red } from 'kolorist';
import { IMessage } from 'qq-guild-bot';
export const rule = {
  青云客: {
    reg: 'noCheck', //匹配消息正则，命令正则
    priority: 29999, //优先级，越小优先度越高
    describe: '青云客' //【命令】功能说明
  }
};

export async function 青云客(e: { eventType: string; msg: IMessage }) {
  // 私聊禁用
  if (e.eventType === 'DIRECT_MESSAGE_CREATE') {
    return;
  }
  // 需要文字
  if (!e.msg.content) {
    return;
  }

  //   需要@机器人
  if (e.msg.content.indexOf(`<@!${bot.id}>`) === -1) {
    return;
  }

  let msg = e.msg.content.replace(`<@!${bot.id}>`, '').trim();

  let url = `https://api.qingyunke.com/api.php?key=free&appid=0&msg=${msg}`;
  /** 调用接口获取数据 */
  // @ts-ignore
  let { data: res } = await axios.get(url).catch(err => console.error(red(err)));

  if (res) {
    if (res.result == 0) {
      //发送消息
      let reg = new RegExp('{br}', 'g');
      let reg2 = new RegExp('菲菲', 'g');
      let content = res.content.replace(reg, '\n').replace(reg2, bot.username);

      let message = {
        content: getFace(content),
        msg_id: e.msg.id // 可选，消息id，如果指定则会回复该消息
      };
      let { data } = await client.messageApi.postMessage(e.msg.channel_id, message);
      // console.info(data);
    }
  }
  return true;
}

// 转换成表情
function getFace(code: string) {
  let reg = new RegExp('{face:(\\d+)}', 'g');

  let content = code.replace(reg, (match: any, p1: any) => {
    return `<emoji:${p1}>`;
  });

  return content;
}
